package com.JsonGetter;

import cn.hutool.json.JSONUtil;
import com.JsonUtils.BankCardInfo.BankCard;
import com.JsonUtils.HeadPicture.HeadPicJson;
import com.JsonUtils.IDCard.IdCard;
import com.JsonUtils.LookWorld.LookWorldJson;
import com.JsonUtils.OcrFormer.OcrForm;
import com.JsonUtils.OnePicture.OnePic;
import com.JsonUtils.PhoneInfo.PhoneJson;
import com.JsonUtils.WallPaper.WallPaper;
import com.JsonUtils.WordInfo.Word;
import com.JsonUtils.badPhone.BadPhoneInfo;
import com.JsonUtils.sceneryInfo.Scenery;

/**
 * 将String类型转换为可读取对应格式的类
 * @author Lenovo
 */
public class Getter {
    /**
     * 必应每日一图
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return OnePic的对象
     */
    public static OnePic getOnePic(String json){
        return JSONUtil.toBean(json,OnePic.class);
    }
    /**
     * 获取头像
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return HeadPicJson的对象
     */
    public static HeadPicJson getHeadPic(String json){
        json = json.replaceFirst("class","theClass");
        return JSONUtil.toBean(json,HeadPicJson.class);
    }
    /**
     * 壁纸
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return WallPaper的对象
     */
    public static WallPaper getWallPaper(String json){
        return JSONUtil.toBean(json,WallPaper.class);
    }
    /**
     * 获取身份证信息
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return IdCard的对象
     */
    public static IdCard getIdCard(String json){
        return JSONUtil.toBean(json,IdCard.class);
    }
    /**
     * 查询骚扰电话信息
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return BadPhoneInfo的对象
     */
    public static BadPhoneInfo getBadPhoneInfo(String json){
        return JSONUtil.toBean(json,BadPhoneInfo.class);
    }
    /**
     *查询手机号的归属地信息
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return PhoneJson的对象
     */
    public static PhoneJson getPhone(String json){
        return JSONUtil.toBean(json,PhoneJson.class);
    }
    /**
     *查询手机号的归属地信息
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return Scenery的对象
     */
    public static Scenery getScenery(String json){
        return JSONUtil.toBean(json,Scenery.class);
    }
    /**
     * 60s看世界接口
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return LookWorldJson的对象
     */
    public static LookWorldJson getLookWorld(String json){
        return JSONUtil.toBean(json,LookWorldJson.class);
    }
    /**
     * 60s看世界接口
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return OcrForm的对象
     */
    public static OcrForm getOcrForm(String json){
        return JSONUtil.toBean(json,OcrForm.class);
    }
    /**
     * Word列表转换
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return Word的对象
     */
    public static Word getWord(String json) {
        return JSONUtil.toBean(json,Word.class);
    }
    /**
     * 获取银行卡信息
     * 将json变成可取对应值的对象
     * @param json 需要转换的JSON
     * @return BankCard的对象
     */
    public static BankCard getBankCard(String json) {
        return JSONUtil.toBean(json,BankCard.class);
    }
}
